package com.shardingsphere.example.sharding;

/**
 * 分表上下文持有者
 */
public class ShardingContextHolder {

    private static final ThreadLocal<String> TABLE_NAME_HOLDER = new ThreadLocal<>();

    /**
     * 设置当前线程的表名
     */
    public static void setTableName(String tableName) {
        TABLE_NAME_HOLDER.set(tableName);
    }

    /**
     * 获取当前线程的表名
     */
    public static String getTableName() {
        return TABLE_NAME_HOLDER.get();
    }

    /**
     * 清除当前线程的表名
     */
    public static void clear() {
        TABLE_NAME_HOLDER.remove();
    }
}

